package com.wx.fresh.business.controller;

import com.wx.fresh.business.vo.productVo.*;
import com.wx.fresh.common.util.CommonResult;
import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*;

import java.util.List;


/**
 * @author dong
 * @version 1.0.0
 * @ClassName ChatController.java
 * @Description 商品管理
 * @createTime 2022年04月26日1
 */
@Api(tags = "商品管理")
@RestController
@RequestMapping("product")
public class ProductController {


    @ApiOperation(value = "商品管理显示商品")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "storeId", value = "门店Id"),
            @ApiImplicitParam(name = "id", value = "商品Id")
    })
    @GetMapping("/productFindAll")
    public CommonResult<List<ProductVo>> productFindAll(Long id) {
        return null;
    }


    @ApiOperation(value = "删除商品")
    @DeleteMapping("/productDelete")
    public CommonResult productDelete(@ApiParam("商品Id") Long productId, @ApiParam("商家Id") Long businessId) {
        return null;
    }

    @ApiOperation(value = "添加商品")
    @PostMapping("/productAdd")
    public CommonResult productAdd(ProductVo productVo) {
        return null;
    }


    @ApiOperation(value = "商品sku添加")
    @PostMapping("/productSkuAdd")
    public CommonResult productSkuAdd(SpecificationVo specificationVo) {
        return null;
    }

    @ApiOperation(value = "规格管理显示")
    @GetMapping("/specificationFindById")
    public CommonResult<List<SpecsVo>> specificationManage(@ApiParam("门店ID") Long storeId, @ApiParam("规格ID") Long specificationId) {
        return null;
    }

    @ApiOperation(value = "规格管理添加")
    @PostMapping("/specificationAdd")
    public CommonResult specificationAdd(SpecsVo specsVo) {
        return null;
    }

    @ApiOperation(value = "规格管理修改")
    @PostMapping("/specificationUpdate")
    public CommonResult specificationUpdate(SpecsVo specsVo) {
        return null;
    }

    @ApiOperation(value = "规格管理删除")
    @PostMapping("/specificationDelete")
    public CommonResult specificationDelete(@ApiParam("规格ID") Long specificationId) {
        return null;
    }

    @ApiOperation(value = "商品修改显示")
    @GetMapping("/productFindById")
    public CommonResult<List<ProductVo>> productFindById(@ApiParam("商品Id") Long productId, @ApiParam("商家Id") Long businessId, @ApiParam("门店ID") Long storeId) {
        return null;
    }

    @ApiOperation(value = "商品修改")
    @PostMapping("/productEdit")
    /***/
    public CommonResult productEdit(ProductVo bGoodsVo, @ApiParam("门店ID") Long storeId) {
        return null;
    }

    @ApiOperation(value = "商品sku修改显示")
    @GetMapping("/productSkuFindById")
    public CommonResult<List<SpecificationVo>> productSkuFindById(@ApiParam("商品Id") Long productId, @ApiParam("商品skuId") Long id) {
        return null;
    }

    @ApiOperation(value = "商品sku修改")
    @PostMapping("/productSkuEdit")
    public CommonResult productSkuEdit(SpecificationVo specificationVo) {
        return null;
    }

    @ApiOperation(value = "库存管理显示")
    @GetMapping("/stockFindAll")
    public CommonResult<List<ProductVo>> stockFindAll(@ApiParam("商品Id") Long productId, @ApiParam("商品skuId") Long id, @ApiParam("门店Id") Long storeId) {
        return null;
    }

    @ApiOperation(value = "库存管理修改")
    @PostMapping("/stockEdit")
    public CommonResult stockEdit(ProductVo bGoodsVo) {
        return null;
    }

    @ApiOperation(value = "商品类目显示")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "productId", value = "商品Id")
    })
    @GetMapping("/categoryFindById")
    public CommonResult<List<CategoryIdVo>> categoryFindById(@ApiParam("商品Id") Long productId, @ApiParam("类目Id") Long categoryId) {
        return null;
    }

    @ApiOperation(value = "商品标签显示")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "productId", value = "商品Id")
    })
    @GetMapping("/labelFindById")
    public CommonResult<List<LabelVo>> labelFindById(@ApiParam("商品Id") Long productId, @ApiParam("标签id") Long labelId) {
        return null;
    }

    @ApiOperation(value = "储存条件显示")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "productId", value = "商品Id")
    })
    @GetMapping("/storageConditionsFindById")
    public CommonResult<List<SpecificationVo>> storageConditionsFindById(@ApiParam("商品Id") Long productId, @ApiParam("储存条件Id") Long storageConditionsId) {
        return null;
    }

    @ApiOperation(value = "规格显示")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "productId", value = "商品Id")
    })
    @GetMapping("/SpecsFindById")
    public CommonResult<List<SpecsVo>> SpecsFindById(@ApiParam("规格ID") Long specificationId) {
        return null;
    }
}
